import {NgModule} from '@angular/core';
import {CommonModule, DatePipe} from '@angular/common';

import {MainComponent} from './main.component';
import {FarmOverviewPanelComponent} from './farm-overview-panel/farm-overview-panel.component';
import {GeneralOverviewPanelComponent} from './general-overview-panel/general-overview-panel.component';
import {MapComponent} from './map/map.component';
import {OverviewPanelComponent} from './overview-panel/overview-panel.component';
import {PlanPowerPanelComponent} from './plan-power-panel/plan-power-panel.component';
import {RealtimePowerPanelComponent} from './realtime-power-panel/realtime-power-panel.component';
import {TurboperPanelComponent} from './turboper-panel/turboper-panel.component';
import {TurbstatusPanelComponent} from './turbstatus-panel/turbstatus-panel.component';
import {WindPowerPanelComponent} from './wind-power-panel/wind-power-panel.component';
import {FarmService} from '../../../service/farm.service';
import {TurboperCurrentService} from '../../../service/turboper_current.service';
import {TurboperCategoryService} from '../../../service/turboper-category.service';
import {TurbStatusService} from '../../../service/turbstatus.service';
import {FarmPlantPowerService} from '../../../service/farm-plant-power.service';
import {StopInfoStatisticsService} from '../../../service/stopInfo-statistics.service';
import {FarmModelModule} from '../../common/farm-model/farm-model.module';
import {PhotovoltaicModelModule} from '../../common/photovoltaic-model/photovoltaic-model.module';
import {FarmCoordinateComponent} from './map/farm-coordinate/farm-coordinate.component';
import {SharedModule} from '../../../shared/shared.module';
import {FormsModule, ReactiveFormsModule} from '@angular/forms';
import {MaterialSharedModule} from '../../../shared/material-shared.module';
import {MainWinfarmComponent} from './main-winfarm/main-winfarm.component';
import {DragDropModule} from 'primeng/primeng';


@NgModule({
  imports: [
    CommonModule,
    SharedModule,
    FarmModelModule,
    PhotovoltaicModelModule,
    FormsModule,
    ReactiveFormsModule,
    MaterialSharedModule,
    DragDropModule
  ],
  exports: [
    MapComponent,
  ],
  declarations: [
    MainComponent,
    MainWinfarmComponent,
    FarmOverviewPanelComponent,
    GeneralOverviewPanelComponent,
    MapComponent,
    OverviewPanelComponent,
    PlanPowerPanelComponent,
    RealtimePowerPanelComponent,
    TurboperPanelComponent,
    TurbstatusPanelComponent,
    WindPowerPanelComponent,
    FarmCoordinateComponent
  ],
  providers: [
    FarmService,
    TurboperCurrentService,
    TurboperCategoryService,
    TurbStatusService,
    FarmPlantPowerService,
    StopInfoStatisticsService,
    DatePipe
  ],
  entryComponents: [
    FarmCoordinateComponent,
  ]
})
export class MainModule {
}
